﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace PhoneBilling
{
    [Serializable]
    public class UIAreaType
    {
        public string ID { get; set; }
        public string Name { get; set; }

        public bool IsSelected { get; set; }
    }

    [Serializable]
    public class UISlice
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public string Remark { get; set; }

        public bool IsSelected { get; set; }
    }

    [Serializable]
    public class UISliceDetail
    {
        public string SliceID { get; set; }
        public int 分段起点时间 { get; set; }
        public int 分段截止时间 { get; set; }
        public float 费率 { get; set; }
        public string 费用类别 { get; set; }
        public int 计次单位 { get; set; }
        public string 是否计算计次 { get; set; }
        public string 名称 { get; set; }
    }

    [Serializable]
    public class UITraiff
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public string Remark { get; set; }
        public bool IsSelect { get; set; }
    }

    [Serializable]
    public class UIFeeType
    {
        public string ID { get; set; }
        public string Name { get; set; }
    }

    [Serializable]
    public class UITraiffDetail
    {
        public string 区号 { get; set; }

        public string 地名 { get; set; }

        public string 话类 { get; set; }

        public float 基本费 { get; set; }

        public float 附加费 { get; set; }

        public float 服务费 { get; set; }

        public int 基本费计次秒 { get; set; }

        public int 服务费计次秒 { get; set; }

        public string 分段计费方法 { get; set; }

    }

    [Serializable]
    public class UIGrade
    {
        public string ID { get; set; }
        public string Name { get; set; }
        public string Remark { get; set; }
        public bool IsSelect { get; set; }
    }

    [Serializable]
    public class UIGradeDetail
    {
        public string GradeID { get; set; }
        public string 话类 { get; set; }
        public int 最小计费延时 { get; set; }
        public int 时长误差 { get; set; }
        public int 最小计次次数 { get; set; }
        public decimal 服务费缩放系数 { get; set; }
        public decimal 附加费按基本费的比例收取时的系数 { get; set; }
        public decimal 服务费按基本费的比例收取时的系数 { get; set; }
        public decimal 附加费按服务器的比例收取时的系数 { get; set; }
        public decimal 单笔花费最小金额 { get; set; }
        public decimal 单笔花费最大金额 { get; set; }
        public decimal 包月话类收费起点 { get; set; }
        public decimal 包月话类封顶限额 { get; set; }
        public int 取整方法 { get; set; }
    }

    [Serializable]
    public class UIDiscount
    {
        public int ItemNo { get; set; }
        public string 优惠名称 { get; set; }
        public string 折扣话类 { get; set; }
        public string 基本费折扣 { get; set; }
        public string 附加费折扣 { get; set; }
        public string 服务费折扣 { get; set; }
        public DateTime 起始时间 { get; set; }
        public DateTime 终止时间 { get; set; }
    }

    [Serializable]
    public class UIUser
    {
        public Guid ID { get; set; }
        public string Name { get; set; }
        public string Password { get; set; }
    }

    [Serializable]
    public class Const
    {
        public static DateTime Future = new DateTime(2030, 1, 1);
        public static DateTime History = new DateTime(2005, 1, 1);
    }

    [Serializable]
    public class UIDepartment
    {
        public string ID { get; set; }
        public string 名称 { get; set; }
        public List<UIGroup> 分组List { get; set; }
    }

    [Serializable]
    public class UIGroup
    {
        public string ID { get; set; }
        public string 名称 { get; set; }
        public List<UIGroup> 分组List { get; set; }
        public List<UIExtension> ExtensionList { get; set; }
    }

    [Serializable]
    public class UIExtension
    {
        public string 分机号码 { get; set; }
        public string 收费等级 { get; set; }
        public string 费率 { get; set; }
        public string 收费话类 { get; set; }
        public int 报警限额 { get; set; }
        public decimal 月杂费 { get; set; }

        public string 用户名 { get; set; }
        public string 分组 { get; set; }
        public string 部组 { get; set; }
        public string 地址 { get; set; }
        public short 分机功能 { get; set; }
        public string 机架线号 { get; set; }
        public string 安装日期 { get; set; }
        public string 备注 { get; set; }

        public DateTime 删除时间 { get; set; }
    }

    [Serializable]
    public class UISourcePhn
    {
        public string 主叫分机 { get; set; }
        public DateTime 挂机时间 { get; set; }
        public string 拨出号码 { get; set; }
        public string 拨叫地区 { get; set; }
        public string 话类 { get; set; }
        public string 通话时长 { get; set; }
        public int 计次 { get; set; }
        public string 话价 { get; set; }
        public string 基本费 { get; set; }
        public string 附加费 { get; set; }
        public string 服务费 { get; set; }
        public string 总金额 { get; set; }
        public string 特别标志 { get; set; }
        public string 中继线号 { get; set; }
    }

    [Serializable]
    public class UIUnkown
    {
        public string 主叫分机 { get; set; }
        public DateTime 挂机时间 { get; set; }
        public string 拨出号码 { get; set; }
        public string 拨叫地区 { get; set; }
        public string 话类 { get; set; }
        public int 通话时长 { get; set; }
        public string 标志 { get; set; }
        public string 交换机号 { get; set; }
        public Guid ID { get; set; }
    }

    [Serializable]
    public class UIAccount
    {
        public bool IsSelected { get; set; }
        public Guid ID { get; set; }
        public string 月 { get; set; }
        public string 部门 { get; set; }
        public string 分组 { get; set; }
        public string 分机号码 { get; set; }
        public int 用户数 { get; set; }
        public string 用户名 { get; set; }
        public string 月租费 { get; set; }
        public string 功能费 { get; set; }
        public string 通话费 { get; set; }
        public string 维护费 { get; set; }
        public string 其他费 { get; set; }
        public string 月杂费 { get; set; }
        public string 内线计次 { get; set; }
        public string 内线金额 { get; set; }
        public string 市话计次 { get; set; }
        public string 市话金额 { get; set; }
        public string 郊县计次 { get; set; }
        public string 郊县金额 { get; set; }
        public string IP计次 { get; set; }
        public string IP金额 { get; set; }
        public string 信息计次 { get; set; }
        public string 信息金额 { get; set; }
        public string 专线计次 { get; set; }
        public string 专线金额 { get; set; }
        public string 国内计次 { get; set; }
        public string 国内金额 { get; set; }
        public string 国际计次 { get; set; }
        public string 国际金额 { get; set; }
        public string 其他计次 { get; set; }
        public string 其他金额 { get; set; }
        public int 话单总次数 { get; set; }
        public string 话单总金额 { get; set; }
        public string 免费额 { get; set; }
        public string 已经收款 { get; set; }

        public decimal 总金额 { get; set; }

        public string 日期 { get; set; }
        public string 收费等级 { get; set; }
    }
}
